/* @邮件发送 
step 1: 安装Nodemailer
step 2: 配置SMTP服务器，开启邮箱客户端授权码
step 3: 编写代码发送邮件
*/
const nodemailer = require('nodemailer');
// 创建SMTP客户端配置  
const transporter = nodemailer.createTransport({
    host: "smtp.sina.com",
    port: 465, // 或587  
    secure: true, // 如果端口是465，设置为true，如果是587，则使用TLS  
    auth: {
        user: "wy333wy3333@sina.com", // 邮箱号
        pass: "1949479c0fa40753" // 客户端授权码
    }
});

async function sendMail(mail, res, next, MailCode) {
    // 生成随机验证码
    const OTP = Math.floor(100000 + Math.random() * 900000).toString(); 
    // 设置邮件内容  
    const mailOptions = {
        from: 'wy333wy3333@sina.com', // 发件人  
        to: mail, // 收件人，可以是逗号分隔的列表  
        subject: "邮箱验证码", // 主题  
        text: "您的邮箱验证码是：" + MailCode, // 纯文本正文  
        // html: generateOTP() // HTML正文  
    };
    // 发送邮件  
    await transporter.sendMail(mailOptions, (error, info) => {
        if (error) {
            console.log('Error Message sent:', error);
            res.status(200).send({ code: 1, msg: '邮箱验证码发送失败！' })
        }else{
            console.log('Message sent success:', info.envelope , OTP);
            MailCode[mail] = OTP;
            console.log('MailCode', MailCode);
            res.status(200).send({ code: 0, msg: '邮箱验证码发送成功！' })
        }
        next()
    });
    
}

/* ------------------------------------------------------------------ */

module.exports = {
    sendMail
}
